package linwen.wang.application.impl.v6;

import linwen.wang.application.impl.v5.JoinAddressVOOnId;
import linwen.wang.application.impl.v5.JoinProductVOOnId;
import linwen.wang.application.impl.v5.JoinUserVOOnId;
import linwen.wang.joinMemory.annotation.JoinInMemeoryExecutorType;
import linwen.wang.joinMemory.annotation.JoinInMemoryConfig;
import linwen.wang.vo.*;
import lombok.Data;

@Data
@JoinInMemoryConfig(executorType = JoinInMemeoryExecutorType.PARALLEL)
public class OrderDetailVOV6 extends OrderDetailVO {
    private final OrderVO order;

    @JoinUserVOOnId(keyFromSourceData = "#{order.userId}")
    private UserVO user;

    @JoinAddressVOOnId(keyFromSourceData = "#{order.addressId}")
    private AddressVO address;

    @JoinProductVOOnId(keyFromSourceData = "#{order.productId}")
    private ProductVO product;

}